#include <stdio.h>
#include <unistd.h>

int main()
{
    //代码执行顺序一定是先执行怕printf，再执行sleep，只是屏幕上显示的结果不同
    
   // printf("hello world\n");      code1
   // 输出带换行，屏幕上的结果是先打印hello world 再休眠1s
   
    printf("hello world");   // code-2
    // 数据往显示器上打印是行刷新的，即碰到换行才会刷新数据显示\n所在这一行\n之前的所有内容（包括\n）率先你显示到屏幕上
    // 不输出换行，屏幕上显示的结果是先sleep(1),然后打印hello world
    // 执行sleep前，printf一定已经执行过了，已打印，那么打印的数据在哪？-----缓冲区
    
    //刷新缓冲区
    fflush(stdout);   // code-3
    //刷新输出缓冲区后，屏幕上的结果是先打印，再sleep(1)
    sleep(1);
    
    return 0;
}
